package uml.util;

import java.awt.Color;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;

/**
 * Provides access to a set of constants to be used throughout the project.
 * 
 * @author Neil Obetz
 *
 */

public final class UMLConstants
{
	// Default Sizes
	public static final Dimension PACKAGE_SIZE = new Dimension (400, 200);
	public static final Dimension CLASS_SIZE = new Dimension (200, 100);
	public static final Dimension INTERFACE_SIZE = new Dimension (200, 100);
	
	// Default colors
	public static final Color PACKAGE_COLOR = Color.YELLOW;
	public static final Color CLASS_COLOR = Color.BLUE;
	public static final Color INTERFACE_COLOR = Color.RED;
	public static final Color TEXTAREA_COLOR = Color.WHITE;
	
	public static final Color BACKGROUND = Color.blue;
	public static final Color COMPONENT_BACKGROUND = Color.white;
	public static final Color OUTSIDE_BORDER = Color.black;
	public static final Color INSIDE_BORDER = Color.blue;
	public static final Color COMPONENT_INSIDE_BORDER = Color.blue;
	public static final Color COMPONENT_OUTSIDE_BORDER = Color.blue;
	
	//Default borders
	public static final Border CLASS_BORDER = BorderFactory.createBevelBorder (BevelBorder.RAISED, CLASS_COLOR, CLASS_COLOR);
	public static final Border CLASS_FIELD_BORDER = BorderFactory.createLineBorder (CLASS_COLOR, 1);
	public static final Border INTERFACE_BORDER = BorderFactory.createLineBorder (INTERFACE_COLOR, 2);
	
	public static final Border NORMAL = BorderFactory.createBevelBorder (BevelBorder.RAISED, BACKGROUND, OUTSIDE_BORDER, INSIDE_BORDER, OUTSIDE_BORDER);
	public static final Border ACTIVE = BorderFactory.createLineBorder (OUTSIDE_BORDER, 3);
	public static final Border COMPONENT_BORDER = BorderFactory.createLineBorder (COMPONENT_OUTSIDE_BORDER);
	public static final Border HOVER = BorderFactory.createBevelBorder (BevelBorder.RAISED, BACKGROUND, OUTSIDE_BORDER, INSIDE_BORDER, OUTSIDE_BORDER);
	
	// Font constants
	public static final float DEFAULT_FONT_SIZE = 12;
	
	// Other Constants
	
	
	
}
